iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 27
0

UserDefaults

UserDefaults 是 iOS 提供給使用者儲存資料的一種方式,可以用來儲存少量的資料,像是是否為第一次開啟應用程式,或者是上次登入的資訊等等,但大量的資料就不適合存放在 UserDefaults

使用 UserDefaults 非常簡單,首先先實體化 UserDefault 元件

let userDefaults = UserDefaults.standard

結束!沒錯就這麼簡單!

UserDefaults 內原先就會有一些使用者的資料,我們先來看看裡面有什麼

override func viewDidLoad() {
    super.viewDidLoad() 
    print("=====================================")
    printUserDefaults()
}
    
func printUserDefaults() {
    Array(userDefaults.dictionaryRepresentation()).forEach { (key: String, value: Any) in
        //  UserDefaults內的資料都是一個 Key值(字串)對一個 Value值(任意型態)
        print("\(key): \(value)")
        print("=====================================")
    }
}

各位可以發現,裡面原先就放了不少東西了
https://ithelp.ithome.com.tw/upload/images/20201003/20129677iKJE6dPF62.png

至於要如何去新增資料呢?也非常簡單,首先先建立這個畫面用來輸入 Key 跟 Value
https://ithelp.ithome.com.tw/upload/images/20201003/20129677oolk9sZJeX.png

再來輸入以下程式碼

@IBAction func updateBtnClick(_ sender: UIButton) {
    userDefaults.set(valueTextField.text, forKey: keyTextField.text!)
    userDefaults.synchronize()  // 用來加速 UserDefaults 刷新
    printUserDefaults()
}

看看成果
https://ithelp.ithome.com.tw/upload/images/20201003/20129677ctCiZ5FOWx.png
https://ithelp.ithome.com.tw/upload/images/20201003/20129677uHfFzsLvNj.png

至於修改的部分,只要輸入相同的 Key 值,新的 Value 值就會自動將舊的覆蓋掉
https://ithelp.ithome.com.tw/upload/images/20201003/20129677Qqb0nrIqqb.png
https://ithelp.ithome.com.tw/upload/images/20201003/20129677CE6TbYPC8O.png


上一篇
Day26 QRCode Scanner
下一篇
Day28 CocoaPods
系列文
IOS Beginner's 30days 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言